package com.ls.fw.data.utils;

import java.util.Collection;
import java.util.Date;
import java.util.Map;

/**
 * @author 李昇
 * 2014年4月26日 下午1:51:15
 */
public class TypeUtil {


	/**
	 * 是否为集合类型
	 * 
	 * @param type
	 * @return
	 */
	public static boolean isCollection(Class<?> type) {
		boolean isTure = false;
		if (Collection.class.isAssignableFrom(type)) {// 判断是否为集合类型
			isTure = true;
		}
		return isTure;
	}

	/**
	 * 是否为map类型
	 * 
	 * @param type
	 * @return
	 */
	public static boolean isMap(Class<?> type) {
		boolean isTure = false;
		if (Map.class.isAssignableFrom(type)) {// 判断是否为Map类型
			isTure = true;
		}
		return isTure;
	}

	/**
	 * 是否为日期类型
	 * 
	 * @param type
	 * @return
	 */
	public static boolean isDate(Class<?> type) {
		boolean isTure = false;
		if (Date.class.isAssignableFrom(type)) {// 判断是否为Map类型
			isTure = true;
		}
		return isTure;
	}

	
	/**
	 * 是否为基本类型
	 * @param type
	 * @return
	 */
	public static boolean isPrimitive(Class<?> type) {
		boolean isTure = false;
		if (type.isPrimitive()) {// 判断是否为基本类型
			isTure = true;
		} else if (Double.class.equals(type)) {
			isTure = true;
		} else if (Float.class.equals(type)) {
			isTure = true;
		} else if (Long.class.equals(type)) {
			isTure = true;
		} else if (Integer.class.equals(type)) {
			isTure = true;
		} else if (Short.class.equals(type)) {
			isTure = true;
		} else if (Byte.class.equals(type)) {
			isTure = true;
		} else if (Boolean.class.equals(type)) {
			isTure = true;
		} else if (Character.class.equals(type)) {
			isTure = true;
		}
		return isTure;
	}

}
